package com.ruoyi.students.service;

import com.ruoyi.education.domain.Score;
import com.ruoyi.students.domain.Students;
import io.lettuce.core.dynamic.annotation.Param;

import java.util.List;

/**
 * 学生基本信息管理Service接口
 * 
 * @author yxy
 * @date 2024-10-17
 */
public interface IStudentsService 
{
    /**
     * 查询学生基本信息管理
     * 
     * @param id 学生基本信息管理主键
     * @return 学生基本信息管理
     */
    public Students selectStudentsById(Long id);

    /**
     * 查询学生基本信息管理列表
     * 
     * @param students 学生基本信息管理
     * @return 学生基本信息管理集合
     */
    public List<Students> selectStudentsList(Students students);

    /**
     * 新增学生基本信息管理
     * 
     * @param students 学生基本信息管理
     * @return 结果
     */
    public int insertStudents(Students students);

    /**
     * 修改学生基本信息管理
     * 
     * @param students 学生基本信息管理
     * @return 结果
     */
    public int updateStudents(Students students);

    /**
     * 批量删除学生基本信息管理
     * 
     * @param ids 需要删除的学生基本信息管理主键集合
     * @return 结果
     */
    public int deleteStudentsByIds(Long[] ids);

    /**
     * 删除学生基本信息管理信息
     * 
     * @param id 学生基本信息管理主键
     * @return 结果
     */
    public int deleteStudentsById(Long id);

    /**
     * 根据学生id查询学生成绩信息
     * @param studentId
     * @param evaluationDate
     * @return
     */

    List<Score> selectStudentsListBystudentId(@Param("studentId") String studentId, @Param("evaluationDate") String evaluationDate);

    /**
     * 登录功能学生
     * @param studentId
     * @param password
     * @return
     */
    String studentloginInfo(String studentId, String password);

    /**
     * 根据学生id查询学生信息
     * @param studentId
     * @return
     */

    Students selectStudentsByStudentId(String studentId);

    /**
     * 根据学生id修改学生信息
     * @param students
     * @return
     */
    int updateStudentsByStudentid(Students students);

    /**
     * 根据学号查找班级名称
     * @param studentId
     * @return
     */
    String selectStudentClassName(String studentId);

    /**
     * 查找姓名
     * @param studentId
     * @return
     */
    String selectStudentName(String studentId);

    int batchInsertscoreRequests(List<Students> studentsList);

}
